﻿/*   
    Copyright (C) 2009 Galaktika Corporation ZAO

    This file is a part of Galaktika.BusinessMonitor
 
    Galaktika.BusinessMonitor is a free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
      
    You should have received a copy of the GNU General Public License
    along with Galaktika.BusinessMonitor.  If not, see <http://www.gnu.org/licenses/>.
  
    If GPL v.3 is not suitable for your products or company,
    Galaktika Corp provides Galaktika.BusinessMonitor under a flexible commercial license
    designed to meet your specific usage and distribution requirements.
    If you have already obtained a commercial license from Galaktika Corp,
    you can use this file under those license terms.
*/

using System;
using System.ComponentModel;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Galaktika.BI.Extensibility;

namespace Galaktika.BI.Charting
{
    public enum DataSymbol
    {
        NoSymbol, CircleSymbol, CrossSymbol, Cross2Symbol,
        DiamondSymbol, InvertedTriangleSymbol, LeftTriangleSymbol, RightTriangleSymbol, SquareSymbol, TriangleSymbol,
    }

    public enum SymbolScaleType
    {
        /// <summary>
        /// В пикселях
        /// </summary>
        PixelScale,
        /// <summary>
        /// Основываясь на размерах оси Х
        /// </summary>
        XAxisScale,
        /// <summary>
        /// Основываясь на размерах оси Y
        /// </summary>
        YAxisScale
    }

    public enum LineType
    {
        Default, DashLine, DotLine, DotDashLine, AltDashLine
    }

    public enum LayerType
    {
        /// <summary>
        /// Столбик
        /// </summary>
        Bar,
        /// <summary>
        /// Линия
        /// </summary>
        Line,
        /// <summary>
        /// С накоплением
        /// </summary>
        [Browsable(false)]
        Stacked,
        /// <summary>
        /// Сглаженная линия
        /// </summary>
        SplineLine,
        /// <summary>
        /// Проценты
        /// </summary>
        [Browsable(false)]
        Percentage,
        /// <summary>
        /// Область
        /// </summary>
        Area,
        /// <summary>
        /// Лесенка
        /// </summary>
        StepLine,
        /// <summary>
        /// Кружки
        /// </summary>
        [Browsable(false)]
        Scatter
    }

    public enum LabelLayoutType
    {
        Circle,
        Side
    }

    public enum ChartType
    {
        /// <summary>
        /// Линейная
        /// </summary>
        Line,
        /// <summary>
        /// Круговая
        /// </summary>
        Pie,
        /// <summary>
        /// Столбчатая с накоплением
        /// </summary>
        StackedBar,
        /// <summary>
        /// Области с накоплением
        /// </summary>
        StackedArea,
        /// <summary>
        /// Процентная
        /// </summary>
        Percentage,
        /// <summary>
        /// Столбчатая - все на одном слое (столбики рядом)
        /// </summary>
        MultiBar,
        /// <summary>
        /// Кружки
        /// </summary>
        Bubble
    }    

    public enum PointView
    {
        Argument,
        Values,
        ArgumentAndValues, 
        SeriesName,        
        Undefined 
    }
   
    public enum ViewTypeCharting
    {
        Column = 0,
        StackedColumn = 1,
        FullStackedColumn = 2,
        Bar = 3,
        StackedBar = 4,
        FullStackedBar = 5,
        Pie = 6,
        Doughnut = 7,
        Point = 8,
        Line = 9,
        Area = 10,
        StackedArea = 11,
        FullStackedArea = 12,
        Stock = 13,
        CandleStick = 14,
        Bubble = 15
    }


    public enum BarSeriesLabelPosition
    {
        Top,
        Center
    }
   
    public enum DashStyle
    {
        Empty,
        Solid,
        Dash,
        Dot,
        DashDot,
        DashDotDot
    }    

    [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
    public enum ValueCoordinate
    {
        None,
        X,
        Y,
        Z,
        Size
    }

    public enum MeasureOption
    {
        X,
        Y,
        XY
    }
}
